
package com.ruoyi.media.service.impl;

import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.media.mapper.MediaUserMapper;
import com.ruoyi.media.domain.MediaUser;
import com.ruoyi.media.service.IMediaUserService;

/**
 * 广电用户Service业务层处理
 * 
 * @author ruoyi
 * @date 2025-12-04
 */
@Service
public class MediaUserServiceImpl implements IMediaUserService
{
    @Autowired
    private MediaUserMapper mediaUserMapper;

    /**
     * 查询广电用户列表
     * 
     * @param mediaUser 广电用户
     * @return 广电用户
     */
    @Override
    public List<MediaUser> selectMediaUserList(MediaUser mediaUser)
    {
        return mediaUserMapper.selectMediaUserList(mediaUser);
    }

    /**
     * 查询广电用户
     * 
     * @param id 广电用户主键
     * @return 广电用户
     */
    @Override
    public MediaUser selectMediaUserById(Long id)
    {
        return mediaUserMapper.selectMediaUserById(id);
    }

    /**
     * 新增广电用户
     * 
     * @param mediaUser 广电用户
     * @return 结果
     */
    @Override
    public int insertMediaUser(MediaUser mediaUser)
    {
        return mediaUserMapper.insertMediaUser(mediaUser);
    }

    /**
     * 修改广电用户
     * 
     * @param mediaUser 广电用户
     * @return 结果
     */
    @Override
    public int updateMediaUser(MediaUser mediaUser)
    {
        return mediaUserMapper.updateMediaUser(mediaUser);
    }

    /**
     * 批量删除广电用户
     * 
     * @param ids 需要删除的广电用户主键集合
     * @return 结果
     */
    @Override
    public int deleteMediaUserByIds(Long[] ids)
    {
        return mediaUserMapper.deleteMediaUserByIds(ids);
    }

    /**
     * 删除广电用户信息
     * 
     * @param id 广电用户主键
     * @return 结果
     */
    @Override
    public int deleteMediaUserById(Long id) {
        return mediaUserMapper.deleteMediaUserById(id);
    }
    
    @Override
    public int batchInsertMediaUser(List<MediaUser> mediaUserList) {
        if (mediaUserList == null || mediaUserList.isEmpty()) {
            return 0;
        }
        
        // 可以在这里添加去重逻辑，根据terminal_no或phone_no判断是否已存在
        for (MediaUser user : mediaUserList) {
            // 设置创建时间和更新时间
            user.setCreateTime(new Date());
            user.setUpdateTime(new Date());
            
            // 检查是否已存在
            MediaUser existing = mediaUserMapper.selectMediaUserByPhoneNo(user.getPhoneNo());
            if (existing != null) {
                // 如果已存在，则更新
                user.setId(existing.getId());
                mediaUserMapper.updateMediaUser(user);
            } else {
                // 如果不存在，则插入
                mediaUserMapper.insertMediaUser(user);
            }
        }
        
        return mediaUserList.size();
    }
}
